﻿using System;
using System.Collections.Generic;
using System.Text;
using Common.Utilities;

namespace Workflows.Components.ETL
{
	/// <summary>
	/// 
	/// </summary>
	[Serializable]
	public class ExcelWorksheetColumnDefinition
	{
		private int _RowNumContainingColumnHeaders;
		/// <summary></summary>
		public int RowNumContainingColumnHeaders
		{
			get
			{
				return this._RowNumContainingColumnHeaders;
			}
			set
			{
				this._RowNumContainingColumnHeaders = value;
			}
		}

		private Dictionary<string,int> _ColumnNameIdxMappings;
		/// <summary>map column header to column name</summary>
		public Dictionary<string, int> ColumnNameIdxMappings
		{
			get
			{
				return this._ColumnNameIdxMappings;
			}
			set
			{
				this._ColumnNameIdxMappings = value;
			}
		}

		private Dictionary<string,SimpleDataType> _ColumnDataTypes;
		/// <summary>map column name to data type</summary>
		public Dictionary<string, SimpleDataType> ColumnDataTypes
		{
			get
			{
				return this._ColumnDataTypes;
			}
			set
			{
				this._ColumnDataTypes = value;
			}
		}

		private Dictionary<string,string> _FieldFormatStrings;
		/// <summary>map column name to format string (.NET style, not excel style)</summary>
		public Dictionary<string,string> FieldFormatStrings
		{
			get
			{
				return this._FieldFormatStrings;
			}
			set
			{
				this._FieldFormatStrings = value;
			}
		}
	}
}
